
class KrawDemo : public KrawApp
{
public:
    
    bool Open();
    void Close();
    void Tick( float, float );
    void Draw();

private:
    
}

bool KrawDemo::Open()
{
    //load instancing material
    if /*instancing supported*/ )
        //load materials w/ constant instancing
    else
        //load materials w/o instancing
    
    //load models
    if ( /*instancing*/ )
        //load models as they are
    else
        //load models w/ instance index
}

void KrawDemo::Close()
{
    //release all models
    //release all materials
    //release the view
}

void KrawDemo::Tick( float fTime, float fElapsedTime )
{
    //tick the camera input
}

void KrawDemo::Draw()
{
    if ( /*instancing*/ )
        //render instanced
    else
        //render using shader constants
}
